package com.atguigu.gulimall.product.feign.fallback;

import com.atguigu.common.exception.BizCodeEnume;
import com.atguigu.common.utils.R;
import com.atguigu.gulimall.product.feign.SeckillFeignService;
import org.springframework.stereotype.Component;

/**
 * 远程失败后，每一个远程调用的方法，都会对应一个fallbcak()方法，用来做默认返回。
 */
@Component
public class SeckillFeignServiceFallBack implements SeckillFeignService {

    /**
     * 当该方法远程调用失败后，就会执行这个默认实现。
     */
    @Override
    public R skuSeckillInfo(Long skuId) {
        System.out.println("熔断方法...FallBack方法->Seckill服务skuSeckillInfo（）方法远程调用失败");
        return R.error(BizCodeEnume.TO_MANY_REQUEST.getCode(),BizCodeEnume.TO_MANY_REQUEST.getMessage());
    }
}
